package cn.quevo.cube.provide.define.validate;

import cn.quevo.common.lang.StringUtils;

/**
 * 文件类型验证
 *
 * @author July july_sky@foxmail.com
 * @version 1.0
 * @date 2018/12/14 5:42 PM
 * @Copyright 湘豫（北京）科技有限公司版权所有.All Rights Reserved.
 */
public class FileTypeValidate {


    /**
     * 验证文件类型是否存在
     *
     * @param extStr
     * @param fileName
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018/12/14 5:42 PM
     * @Copyright 湘豫（北京）科技有限公司版权所有.All Rights Reserved.
     */
    public static boolean vaidate(String extStr, String fileName) {
        if (StringUtils.isBlank(fileName) || StringUtils.isBlank(extStr)) {
            return false;
        }
        if (fileName.indexOf(".") == -1) {
            return false;
        }
        String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
        String[] exts = extStr.toLowerCase().split(",|\\|");
        return StringUtils.contains(suffix.toLowerCase(), exts);
    }

    /**
     * 验证文件类型是否存在
     *
     * @param extStr
     * @param nameStr
     * @return
     * @author July july_sky@foxmail.com
     * @date 2018/12/14 5:42 PM
     * @Copyright 湘豫（北京）科技有限公司版权所有.All Rights Reserved.
     */
    public static boolean vaidateAll(String extStr, String nameStr) {
        if (StringUtils.isBlank(nameStr) || StringUtils.isBlank(extStr)) {
            return false;
        }
        String[] suffixs = nameStr.toLowerCase().split(",|\\|");
        String[] exts = extStr.toLowerCase().split(",|\\|");
        for (String suffix : suffixs) {
            if (!StringUtils.contains(suffix, exts)) {
                return false;
            }
        }
        return true;
    }
}
